package org.liquidByte.trafficMustang.androidApp.listview.row;

import java.security.InvalidParameterException;

import org.liquidByte.trafficMustang.R;
import org.liquidByte.trafficMustang.androidApp.listview.adapter.RowAdapter;
import org.liquidByte.trafficMustang.androidApp.services.dto.MensagemDTO;

import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class MensagemRow extends ModelListViewRow<MensagemDTO> implements View.OnClickListener {
	
	private TextView lblTitulo;
	private TextView lblDescricao;
	private ImageView btnFechar;

	public MensagemRow(RowAdapter<MensagemDTO> rowAdapter, View view) {
		super(rowAdapter, view);
		if (view.getId() != R.layout.listview_row_mensagem) {
			throw new InvalidParameterException("view is not a type of listview_row_mensagem");
		}
	}

	public TextView getLblTitulo() {
		if (this.lblTitulo == null) {
			this.lblTitulo = (TextView)this.getView().findViewById(R.id.row_mensagem_titulo);
		}
		return lblTitulo;
	}

	public TextView getLblDescricao() {
		if (this.lblDescricao == null) {
			this.lblDescricao = (TextView)this.getView().findViewById(R.id.row_mensagem_descricao);
		}
		return lblDescricao;
	}

	public ImageView getBtnFechar() {
		if (this.btnFechar == null) {
			this.btnFechar = (ImageView)this.getView().findViewById(R.id.row_mensagem_fechar);
		}
		return btnFechar;
	}

	@Override
	public void bindToView() {
		MensagemDTO mensagem = (MensagemDTO)this.getModel();

		if (mensagem == null) {
			this.getLblTitulo().setText(null);
			this.getLblDescricao().setText(null);
		} else {
			this.getLblTitulo().setText(mensagem.getTitulo());
			this.getLblDescricao().setText(mensagem.getDescricao());
		}
	}

	@Override
	public void init() {
		this.getBtnFechar().setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		this.remove();		
	}
}
